Point of Sale
Detailed description of API:
Version & Updates
View Previous Revisions
| Version | Revision Date | Revision History |
|---|---|---|
| 1.0 | June 2023 | New Release |
| 1.1 | 08th Aug 2023 | Updated attached sample request files |
| 1.2 | 17th Aug 2023 | Attached Point of Sale attributes worksheet |
| 1.3 | 14th Sep 2023 | Updated Point of Sales to Point of Sale including API URLs |
| 1.4 | 11th Apr 2024 | Project title change |
| 1.5 | 11th Jun 2024 | Updated sample files |
| 1.6 | 11th Jul 2024 | Sample XML, JSON Request & Point of Sale attributes by adding LineNumberSequence |
| 1.7 | 25th Jun 2025 | Added Request Type and API |
| 1.8 | 22nd Dec 2025 | Added the Point of Sale historical upload details, including STFP and Azure Event Hub approaches |
| 1.9 | 21st Jan 2026 | Updated the Point of Sale Historical Upload section with more details |
| Version | Revision Date | Revision History |
|---|---|---|
| 1.10 | 4th Feb 2026 | Added 4 CSV files sample excel and update the sample C# code in Historical data upload section to set EventType while sending the Point of Sale data |
Overview
Point of Sale API is structured to capture information about the critical attributes used in the point of sales at the time of creation in any DMS systems.
Pre-requisites
Pre-requisites
- Dealer must use their Dealer Portal credentials to authorize API call.
- Each DMS provider will have a subscription_key assigned by CNHi team, please reach out to dlnadmssupport@cnh.com for assistance
- Each Subscription key is unique to DMS and the environment it belongs to
- Based on the payload (XML/JSON), user to pass the content-type in the header
Authentication
Authentication
- DMS will pass Basic auth in HTTP header with username/password
- Each DMS provider will have a subscription_key assigned by CNHi team, please reach out to dlnadmssupport@cnh.com for assistance
- The UserID and Password will be set up in the Dealer Portal by the Dealer uniquely for DMS access to interfaces
- DEP API will require subscription_key in HTTP header to identify client
API Format
- REST
The DEP takes care of the format transformations (as needed) to process the request and provide a response to the DMS system. REST format is always suggested for greater simplicity.
Connection Details
CNHi provides two environments:
- CERT / UAT
- Production
CNHi will preform a null or empty check for dmsName & dealerCode from request body header section.
| Environment | URL | API | Request Type |
|---|---|---|---|
| CERT/UAT | https://{base_url}/external/services/v1/pointofsale | REST | POST |
| Production | https://{base_url}/external/services/v1/pointofsale | REST | POST |
Request Body
Although the Point of Sale API supports both JSON and XML, CNHi preferred format is JSON.
Sample JSON Payload
Download PoS JSON Sample BodySample XML Payload
Download PoS XML Sample BodyPoint of Sale Attributes
Download PoS AttributesResponse Codes
| Status Code | Message |
|---|---|
| 200 | Point of sales uploaded successfully |
| 400 | Invalid DMS Name / Dealer Code in the request body! |
| 500 | Internal Server Error |
| 401 | Access denied due to invalid credentials! |
Point of Sale Historical Upload
- Historical data should NOT be sent via Point of Sale API.
- Only Closed Point of Sale data is expected to be sent to CNH as part of Historical Data.
- Point of Sale Historical upload is only applicable for NAFTA region.
DMS/Dealer should send historical Point of Sale data to CNH DEP using any of the two following methods.
Method 1: 4 Files in CSV format
a. DMS/Dealer needs to send Point of Sale data segregated in the 4 CSV files.
i. Structure and format of 4 CSV files.
ii. 4 CSV files Sample Data
b. To efficiently manage Point of Sale data processing, DMS can segment Point of Sale records into periodic batches; such as quarterly (3 months) or semiannually (6 months) intervals and same Point of Sale data related information need to be available in 4 CSV files. Please ensure that no data is lost across any of the 4 files.
c. Attributes highlighted in the Green color font in each tab of "4 CSV" files are composite primary keys for the respective file/table. Those attributes are mandatory and should not be NULL.
d. Please follow the file nomenclature as shown in the information box below
POS_<DMSName><DealerName><primarySAPNumber><DataFromDate>to<DataToDate><File Transfer DateTime>.zip
Note: The <primarySAPNumber> field is optional if the DMS/Dealer is sending the data at the OG level by combining all locations data in a single file.
e. For a detailed breakdown of each data field and its attributes, please refer to the attributes sheet.
f. Please contact CNH support team by providing DMS Name, Dealer name and SAP Ownershipgroup number to setup SFTP.
Method 2: JSON Method
a. DMS can send the historical Point of Sale data in JSON format through azure EventHub.
b. Payload structure remains same as the API request payload structure. Sample JSON Point of Sale Payload
c. DMS has to set the partition key for each Event/Point of Sale Payload. Partition key should be "<dealercode><documentId>".
Please refer the sample C# code below for your reference. However DMS can choose the any other langauge as per their convenience.
var producerClient = new EventHubProducerClient("CONNECTION_STRING", "EVENTHUB_NAME");
var batchOptions = new CreateBatchOptions
{
PartitionKey = "<dealercode><documentId>"
};
using EventDataBatch eventBatch = await producerClient.CreateBatchAsync(batchOptions);
var payloadjson = "Point of Sale Json";
var data = new EventData(Encoding.UTF8.GetBytes(payloadjson));
data.Properties.Add("EventType", "PointofSale");
var response = eventBatch.TryAdd(data);
if(response == true) // Payload size is less than 1 MB
{
await producerClient.SendAsync(eventBatch);
}
else // Payload size is greater than 1 MB
{
//Add to ZIP file to post through SFTP later.
}
d. If the size of the payload exceeds 1 MB, the "TryAdd" method as shown in the above code snippet will give "FALSE" response. DMS/Dealer must store the failed payload in the JSON file format, ZIP all such JSON payload files together and transfer them via SFTP.
e. Please follow the file nomenclature as shown in the information box below for posting the files via SFTP.
POS_<DMSName><DealerName><primarySAPNumber><DataFromDate>to<DataToDate><File Transfer DateTime>.zip
Note: The <primarySAPNumber> field is optional if the DMS/Dealer is sending the data at the OG level by combining all locations data in a single file.
f. For a detailed breakdown of each data field and its attributes, please refer to the attributes sheet.
g. Please contact CNH support team for EventHub and SFTP connection details.